It is desirable to ensure that electronic appliances controlled by processor-executed programs effectively and reliably operate. Effective and reliable appliance operation necessarily requires that the programs controlling the appliance operate in a defect-free manner. However, in many instances, unforeseen operating circumstances and/or programming errors cause program execution problems. In the most severe cases, program execution may be halted such that the appliance becomes inoperable. As a result, such defective programs must be updated or replaced.
Even in the cases where a program is defect-free and is executed in a manner that effectively and reliably operates the appliance as intended, programming enhancements may become available in an updated program version after delivery of the appliance to the customer or user. Such program updates may include added features and/or improved program execution algorithms. Program updates may also include a variety of other types of desirable modifications.
When the appliance is used at a remote location, installing a program update in the remote appliance creates a variety of problems. One problem is that the program update must be transported, communicated or otherwise delivered to the remote appliance, and then installed in the appliance. Delays and transportation costs may be associated with the transportation of the program update to the remote device. Also, the process whereby the program update is installed into the appliance requires time. The above-described time factors may create loss-of-use problems for the customer or user.
Installing a program update into a remote appliance already delivered to the customer or user presents a variety of difficulties and inconveniences. One solution is to have the customer or user return the appliance to the seller or distributor so that the appliance may have the program update installed. However, requiring the customer or user to return the appliance is an inconvenience to the customer or user. Also, the customer or user does not have the use of the appliance until the appliance is returned.
Alternatively, the seller or distributor of the remote appliance may dispatch an employee to install the program update into the appliance-at the remote location. However, this practice is expensive to the appliance seller or distributor. Also, the customer or user is inconvenienced by the presence of the dispatched employee, and will not have the use of the appliance until the appliance programming update is completed.
In some types of-appliances, programming updates may be implemented remotely by including within the device a communication system that is configured to communicate with a program update server. The program update is accessed when the customer or user causes the remote appliance to communicate with the program update server. Accordingly, the program update server provides the program update to the appliance. However, the customer must actively cause the program update to be retrieved and installed into the appliance. Accordingly, the customer may be inconvenienced by the time and effort required to access the program update. Also the customer may not have the use of the appliance until the appliance programming update is completed.
In other remote appliances, programming updates may be automatically implemented remotely by including in the device a communication system that is configured to communicate with a program update server when the appliance is in operation. One example is a program update implemented by an internet service provider when the customer or user logs onto the Internet from their personal computer. Here, operation of the remote appliance is temporarily stalled while the program update server communicates the program update to the remote appliance. Often, the customer or user is not aware that a program update will be effected until after the customer starts operation of the remote appliance. Accordingly, the customer or user may be inconvenienced by the waiting time imposed by the program update server during the communication of the program update. Furthermore, installing the program update into the remote appliance requires additional time. Also, the customer or user does not have the use of the remote appliance until the appliance programming update is completed. If the customer's or user's intended use of the remote appliance is time-critical, the unanticipated delay caused by the unforeseen, automatic program update process becomes very undesirable.